Reproducible Research is Research Software Engineering
David Mawdsley, Robert Haines and Caroline Jay
RSE 2017 Conference
Self-contained reproducible research papers
- Easier
- Everything is in R; only external dependency is the data
- In principle (pretty much) a solved problem
- Some friction points:
- package versions (thow everything in Docker / Packrat)
- getting tables how you want them
- collaboration; e.g. working with Overleaf
What if you can’t do everything in R?
- Here there be dragons
- Complex dependencies
- Time consuming-analyses
- Long pipelines
Our approach
- Make modular by containerising each step
- Reusable, reproducible
- The final module makes the paper
- Join outputs of containers with Makefile
Example - IDInteraction
- Automate the coding of behaviours
- This is really slow and tedious to do by hand.

Docker images
- Each module contains its own Makefile
- Example: object tracking

Docker images
- Each module contains its own Makefile
- Example: object tracking

Docker images
- Each module contains its own Makefile
- Example: object tracking

Challenges
Additional complexity Building the paper can be a challenge even with Docker
Benefits
- Transparency
- Every figure can be traced back to its source
- Reusability and extensibility
- RSE is an integral part of the paper production process ==> appropriate credit